package com.event.management.frontend.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 问卷DTO
 */
@Data
@ApiModel(description = "问卷信息")
public class QuestionnaireDTO {
    
    @ApiModelProperty(value = "问卷模板ID", example = "1")
    private Long id;
    
    @ApiModelProperty(value = "问卷标题", example = "活动反馈调查")
    private String title;
    
    @ApiModelProperty(value = "问卷说明", example = "请对本次活动进行评价")
    private String description;
    
    @ApiModelProperty(value = "问卷问题列表")
    private List<QuestionDTO> questions;
    
    /**
     * 问题DTO
     */
    @Data
    public static class QuestionDTO {
        
        @ApiModelProperty(value = "问题ID", example = "1")
        private Long id;
        
        @ApiModelProperty(value = "问题内容", example = "您对本次活动的整体满意度是？")
        private String questionText;
        
        @ApiModelProperty(value = "问题类型", example = "single", allowableValues = "single,multiple,text")
        private String questionType;
        
        @ApiModelProperty(value = "是否必填", example = "true")
        private Boolean isRequired;
        
        @ApiModelProperty(value = "选项列表")
        private List<OptionDTO> options;
        
        @ApiModelProperty(value = "排序", example = "1")
        private Integer sortOrder;
    }
    
    /**
     * 选项DTO
     */
    @Data
    public static class OptionDTO {
        
        @ApiModelProperty(value = "选项值", example = "A")
        private String value;
        
        @ApiModelProperty(value = "选项文本", example = "非常满意")
        private String label;
    }
} 